/*
* Τεχνική "κλειδώματος αρχείου" για την αποτροπή παράλληλης εκτέλεσης του προγράμματος
* ο κώδικας "αντλήθηκε" από την σελίδα http://www.java-tips.org/java-se-tips/java.lang/preventing-multiple-instances-of-an-application.html
 */
package programm;


import diepafi.MainMenuGUI;
import java.awt.Dimension;
import java.awt.Toolkit;

/**
 *
 * @author Παναγιώτης
 */
public class RadioStation_app {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
         new RadioStation_app().test();
    }
    
    void test() {
        Lock ua = new Lock("JustOneId");
        
        if (ua.isAppActive()) {
            System.out.println("Η εφαρμογή είναι ενεργή.");
            System.exit(1);
        } else {
            MainMenuGUI mainFrame = new MainMenuGUI();
                            /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(MainMenuGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //παίρνουμε τις διαστάσεις της οθόνης για να τοποθετήσουμε το GUI στο κέντρο της
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        double width = screenSize.getWidth();
        double height = screenSize.getHeight();
        mainFrame.setLocation((int)(width/2.2-mainFrame.getSize().getWidth()/2), (int) (height/2.7-mainFrame.getSize().getHeight()/2));
        mainFrame.setVisible(true);
        System.out.println("Ευχαριστούμε για την χρήση του προγράμματος!");
            try {
                while(true) {
                    try { 
                        System.out.print("."); 
                        Thread.sleep(5 * 60); 
                    } catch(Exception e) { 
                    }
                }
            } catch (Exception e) {  }
        
        }

    }
    
}
